package com.hzy.admin.models.vo.system;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.fasterxml.jackson.annotation.JsonIgnore;

import java.util.List;

public class TableVo<T> {
    private long page;
    private long size;
    private long total;
    private List<T> dataSource;
    private IPage<T> iPage;

    @JsonIgnore
    public IPage<T> getiPage() {
        return iPage;
    }

    public static <T> TableVo<T> page(IPage<T> iPage, List<T> data) {
		TableVo<T> tableVo = new TableVo<>();
        tableVo.iPage = iPage;
        tableVo.setPage(iPage.getCurrent());
        tableVo.setSize(iPage.getSize());
        tableVo.setTotal(iPage.getTotal());
        tableVo.setDataSource(data);
        return tableVo;
    }

	public long getPage() {
		return page;
	}

	public void setPage(long page) {
		this.page = page;
	}

	public long getSize() {
		return size;
	}

	public void setSize(long size) {
		this.size = size;
	}

	public long getTotal() {
		return total;
	}

	public void setTotal(long total) {
		this.total = total;
	}

	public List<T> getDataSource() {
		return dataSource;
	}

	public void setDataSource(List<T> dataSource) {
		this.dataSource = dataSource;
	}

	public void setiPage(IPage<T> iPage) {
		this.iPage = iPage;
	}
}
